classdef TestMyClass < matlab.unittest.TestCase
    properties
        obj
    end
    methods (TestMethodSetup)
        function setup(testCase)
            testCase.obj = MyClass(10); % 预先创建对象
        end
    end
    methods (TestMethodTeardown)
        function teardown(testCase)
            testCase.obj = []; % 清理对象
        end
    end
    methods (Test)
        function testValue(testCase)
            testCase.verifyEqual(testCase.obj.Value, 10);
        end
        function testMethod(testCase)
            fprintf("开始测试 MyClass...\n");

            % 测试1：创建对象并检查初始值
            testCase.obj = MyClass(10);
            assert(testCase.obj.Value == 10, "测试失败：初始值错误");

            % 测试2：调用 show 方法
            fprintf("测试 show() 方法:\n");
            testCase.obj.show(); % 应该输出 "值为: 10"

            % 测试3：修改属性并检查
            testCase.obj.Value = 20;
            assert(testCase.obj.Value == 20, "测试失败：属性赋值错误");

            fprintf("所有测试通过！\n");
        end
    end
end
